package org.example.gxpt.controller;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.example.gxpt.common.result.PageResult;
import org.example.gxpt.common.result.Result;
import org.example.gxpt.pojo.dto.InstrumentPageQueryDTO;
import org.example.gxpt.pojo.entity.Instrument;
import org.example.gxpt.pojo.vo.InstrumentQueryVO;
import org.example.gxpt.service.InstrumentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
@RequestMapping("/instrument")
@Slf4j
@Api(tags = "设备相关接口")
@CrossOrigin
public class InstrumentController {

    @Autowired
    private InstrumentService instrumentService;

    @GetMapping("listAllInstruments")
    @ApiOperation("查询所有设备")
    public Result<List<InstrumentQueryVO>> listAllInstruments(){
        return Result.success(instrumentService.listAll());
    }

    @GetMapping("/page")
    @ApiOperation("设备分页查询")
    public Result<PageResult> page(InstrumentPageQueryDTO instrumentPageQueryDTO){
        return Result.success(instrumentService.page(instrumentPageQueryDTO));
    }

    @GetMapping("/{id}")
    @ApiOperation("根据id查询设备")
    public Result<InstrumentQueryVO> getInstrumentById(Long id){
        return Result.success(instrumentService.getInstrumentById(id));
    }

    //todo 新增设备
    //todo 删除设备
    //todo 修改设备

    //todo 设备型号修改
    //todo 设备型号删除
    //todo 设备型号新增
    //todo 设备型号列表
    //todo 设备型号分页查询
    //todo 设备型号根据id查询
    //todo 设备型号根据设备id查询

    //todo 设备种类修改
    //todo 设备种类删除
    //todo 设备种类新增
    //todo 设备种类列表
    //todo 设备种类分页查询
    //todo 设备种类根据id查询
    //todo 设备种类根据设备id查询

}
